package org.example.flinketl.vo;

import java.math.BigDecimal;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Length;

import lombok.Data;
import lombok.ToString;

/**
 * 贷记卡交易
 */
@Data
@ToString
public class DjkMx implements Vo {
  /** -- 证件号码 */
  String uid;
  /** -- 卡号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String card_no;
  /** -- 交易类型 */
  String tran_type;
  /** -- 交易类型描述 */
  String tran_type_desc;

  /** -- 交易金额 */
  @NotNull
  BigDecimal tran_amt;
  /** -- 交易金额符号 */
  String tran_amt_sign;
  /** -- 商户类型 */
  String mer_type;
  /** -- 商户代码 */
  String mer_code;
  /** -- 撤销、冲正标志 */
  String rev_ind;
  /** -- 交易描述 */
  String tran_desc;
  /** -- 交易日期 */
  String tran_date;
  /** -- 入账日期 */
  String val_date;
  /** -- 交易发生日期 */
  String pur_date;
  /** -- 交易时间 */
  String tran_time;
  /** -- 账号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String acct_no;
  /** -- 数据日期 */
  String etl_dt;

  public static String getTableName() {
    return "dm_v_tr_djk_mx";
  }

  @Override
  public String getContentType() {
    return "djk";
  }
}
